10 класс. Алгоритмизация и программирование (2 ч/нед)
презентация к уроку по информатике и икт (10 класс) по теме
10 класс (2 ч/нед). Основы алгоритмизации и программирования.
Скачать:
Вложение | Размер |
---|---|
У 35_36 Массивы данных | 500.66 КБ |
У 37_38 Обработка массивов | 126.03 КБ |
У 39_40 Сортировка данных | 1.49 МБ |
Предварительный просмотр:
Подписи к слайдам:
Повторим! Как записываются на языке паскаль следующие элементы блок-схемы.
Ввод : a,b Read(a,b); write(‘ введите a b ’); k = k + 1 K:=k +1; счетчик кол-ва шагов Вывод : Х write(‘ x = ’ , x); If a=0 then Х : = a else x:=2/a; a =0 x := a x:=2 / a да нет x=1,N For x:=1 to N do begin команды тела цикла end; While A>0 do begin команды тела цикла end; A > 0 да нет команды тела цикла команды тела цикла
Вспомним, как заполняется календарь наблюдений, вычисляется средняя температура за месяц и т.д..
начало k=1,5 S:=S + t Ввод : t конец s:=0 Вывод : s program Pr_2_2; { Вычисление суммы чисел введенных с клавиатуры } uses crt; Var k: integer; t,S :real; Begin S:=0; For k:=1 to 5 do begin write (‘ Введите t '); readln ( t ); S:=S+ t ; end; writeln(‘S = ',S); End. Введем 3 2 1 4 -1 Результат S = 9 Sr:=S/5; writeln(‘ среднее = ',Sr); Sr,
А если требуется определить сколько раз температура была ниже (выше) среднего???!!! Следовательно исходные данные, введенные в начале программы, необходимо сохранить, хотя бы до окончания всех требуемых расчетов!!! Для хранения однотипных данных можно использовать массивы .
Массив – группа элементов одного типа, объединенных под общим именем. Индекс – что-то (чаще всего номер), что позволяет отличать элементы массива один от другого и обращаться к ним. Определения
Обычную книгу можно считать своего рода массивом. Почему? Книга состоит из множества однотипных элементов – страниц, у каждой страницы есть номер (индекс), все страницы объединены под одним названием (название книги)
Дом также можно считать массивом. Почему? Дому соответствует один почтовый адрес (город, улица, номер). Элементами дома можно считать квартиры, у каждой из которых есть номер (индекс).
Шахматную доску можно считать массивом. Почему? Доска состоит из клеток, каждая клетка обозначается буквой и цифрой ( двойной индекс ).
Спортивную команду можно считать «массивом». Почему? Команда состоит из нескольких людей, у каждого из них есть номер (индекс).
Массив – совокупность однотипных данных , хранящихся в последовательных ячейках памяти и имеющих общее имя. Ячейки - элементы массива . Все элементы имеют один и тот же тип. Порядковый номер - индекс элемента массива . Все элементы пронумерованы по порядку. - 10 -3.5 -2 0 1.5 4 -1 - 3 1 2 3 4 5 6 7 8 T
Одномерный массив ( вектор) T – имя массива, числа в ячейках памяти – элементы массива T [3] := -2 Значение 3-го элемента массива Обозначение 3-го элемента массива Описание массива на языке Паскаль «Имя массива» : array [ границы изменения индекса ] of «тип элементов» Например: T : array [1..8] of integer Индекс изменяется в интервале от 1 до 8 Тип элементов массива - целый T - 10 -3 -2 0 1 4 -1 - 3 1 2 3 4 5 6 7 8 индекс элемента массива элемент массива
1. Описание массива 2. Заполнение массива (ввод информации в ячейки) 3. Вывод массива на экран (вывод информации из ячеек) Для работы с массивами необходимо сначала освоить следующее действия:
Описание массива: если имя массива A , количество элементов N ( например N =5 ) , можно рассмотреть следующие типы Var A : array [1..N] of real; 1. Массив целых чисел 2 . Массив вещественных чисел Var A : array [1..N] of integer; 3 . Массив, элементы которого содержат текст – строковый тип. Var A : array [1..N] of string; -8 .1 -4 2 .5 -1 0 .4 А 1 2 3 4 5 -8 -4 2 -1 0 А 1 2 3 4 5 ( N = 5 ) Понедельник А 1 2 3 4 5 Вторник Среда Пятница Четверг
Заполнение массива: Способ №1 - использование констант . P rogram Palitra; U ses CRT; {Black=0; Blue=1; Green=2; Cyan=3; Red=4; Magenta=5; Brown=6; l ightGray=7; и т.д. } Const {Заполнение массива} Color : array [1 .. 7] of string =('Blue', 'Green', 'Cyan', 'Red', 'Magenta', 'Brown', 'LightGray'); Var i:integer; Begin { Для вывода эл. массива используем цикл, для изменения цвета используем i } textsize (15); for i :=1 to 7 do begin textcolor( i ); write ( Color [i]: 10 ); end; End. Пример Palitra i=1,7 Вывод : Color [i] Установка цвета шрифта
Заполнение массива: Способ №2 - Ввод данных с клавиатуры . program Pogoda ; uses CRT; Var T : array [1 .. 7 ] of real; { Описываем массив } k:integer; Begin Write ln(‘ Введите значения температуры за первую неделю марта ‘); for k :=1 to 7 do begin { Для ввода используем цикл } Write (k,’ - ое число, температура= ’); Readln ( T [ k ]); end; Пример Pogoda - 10 -3.5 -2 0 1.5 4 -1 1 2 3 4 5 6 7 T for k :=1 to 7 do begin { Для вывода используем цикл } Write ( T [ k ] :5:1 ); end; End.
program Generator ; uses crt; Var A:array[1.. 10 ] of integer; k : integer; Begin Randomize; For k :=1 to 10 do begin { заполнение и печать в одном цикле } A[k] := -20 + Random( 4 1); Write(A[k] :5); end; end. Заполнение массива: Способ № 3 - Использование генератора случайных чисел Пример Generator Случайное число из интервала ( a , b) := a + random ( b – a + 1 ) Заполнение массива A десятью случайными числами из интервала (-20, 20) и вывод массива на экран в одном цикле. начало k=1,10 Инициализация random Вывод : A[k] конец k=1,10 A[k]:= -20+ random( 41 )
Для вывода массива необходимо использовать цикл. Массив можно выводить в виде строки или в виде столбца. Способ №2 - Ввод данных с клавиатуры . Способ №3 - Использование генератора случайных чисел. Заполнение массива: Вывод массива: Способ №1 - Использование констант . Подведем итоги:
В программе Palitra заполнить новый массив Cvet названиями цветов на русском ( синий зеленый и т.д.). Организовать вывод на экран ( в 3 столбика ): число ( индекс ), служебное название цвета ( из массива Color ) , русское название цвета ( из массива Cvet ) . ( Palitra_1 ) В программе Pogoda , используя способ №1 заполнить новый массив Den ( понедельник вторник и т.д .). Организовать вывод на экран ( в 3 столбика ): число ( индекс ), название дня недели ( из массива Den ) и температуру ( из массива T ). ( Pogoda _1 ) В программе Generator , используя способ №1 заполнить новый массив Fam ( 10 любых фамилий ), массив А заполнить случайными числами из интервала (2, 5), выводить на экран (в 2 столбика ): фамилию ( из массива Fam ) и оценку ( из массива А ). ( Generator _1 )
Д/З Используя программу Palitra написать программу Raduga , выводящую названия основных цветов (Красный, Оранжевый и т.д.), так чтобы название совпадало с цветом текста.
Предварительный просмотр:
Подписи к слайдам:
При назначении размера массива необходимо проанализировать возможный объем данных и ввести возможное количество элементов массива. Необходимо помнить, что при назначении размера массива, компьютер резервирует память под этот массив. Поэтому, не стоит назначать массив больше, чем он может понадобится.
Два способа управления размером массива program M _1; U ses crt; Const N= 10 ; Var T :array[1.. N ] of real; i :integer; Begin Writeln(‘ Введите значения температуры : ’); For i :=1 to N do begin Write(i,’ – ый ’); Readln( T [i]); end; …….. program M _2; U ses crt; Var T :array[1.. 365 ] of integer; i, N : integer; Begin Write(‘ Введите кол-во дней ’); Readln ( N ) ; Randomize; For i :=1 to N do begin T [i] := -10 + Random(21); Writeln( T [i] :5); end; …….
Обработка массива: 2 . Поиск элементов по заданному признаку. 3 . Поиск максимального (минимального) элементов. 1 . Сложение элементов массива . 4. Сортировка элементов массива .
1. Сложение элементов массива Пример M_O _1 : Опреде ление средн ей температур ы за 10 дней Для заполнения массива можно использовать пример M _2 , добавив в описание переменных S и Sr. Тогда основная часть задачи имеет следующий вид: i=1,N S:=S + T[i] конец S:=0 Вывод : Sr 1 Sr:=S/N S:=0; For i:=1 to N do begin S:=S+ T[i]; end; Sr:=S/N; Writeln(‘Sr = ',Sr); End. Задание 1 . Наберите программу, запустите на выполнение 3 раза, запишите результаты. Задание 1_2*. Измените программу так, чтобы обрабатывались ячейки только с четными номерами. ( формула четного индекса i:=k*2 ) Пример M_O _1
2 Поиск элементов по заданному признаку. Пример M_O _ 2 : М ассив, заполнен случайными числами из диапазона от -2 до 2 , количество элементов массива 10. Определите количество элементов массива, значения которых меньших 0. program M _ O_ 2; uses crt; Const N =10; Var A:array[1..N] of real ; k,i : integer; Begin Randomize; For i :=1 to N do begin A[i] := (-20 + Random(51))/ 10 ; Writeln( A[i] :5 :1 ); end; Для описания и заполнения массива используем способ №3 Алгоритм и программу обработки массива рассмотрим долее начало Инициализация random i=1,N A[i]:= ( -20+random(51) )/ 10 1 Вывод : A[i]
Продолжение { продолжение программы } k:=0; For i :=1 to N do begin if A[i] < 0 then k:=k+1; end; Write(‘ Результат обработки ’); If k=0 then Writeln(‘ Отрицательных значений нет ’) else Writeln(I,’ значений <0’); End. Пример M_O _2 : нет Вывод : k 1 i=1,N k:=0 A[i]<0 k := k + 1 да нет Вывод : нет конец k =0 да
Задание 1 : Используя пример M_O _2 , напишите программу определения количества и суммы положительных элементов массива. ( M_ О _ 21 ) Задание 2 : Используя пример Generator 2 , напишите программу вычисления среднего балла, определите сколько учеников имеют оценки выше среднего балла, распечатайте их фамилии и оценки. ( Generator 3 )
Подведем итоги Мы Рассмотрели два вида обработки массива: Сложение элементов. Поиск элементов по заданному признаку.
Предварительный просмотр:
Подписи к слайдам:
По теме: методические разработки, презентации и конспекты
Тематический контроль знаний по теме "Алгоритмизация и программирование" (9 класс)"
Цель контрольной работы: проверить усвоения знаний по теме "Алгоритмизация и программирование" (9 класс)...
Элективный курс по информатике для 10 класса "Алгоритмизация и программирование"
Задача курса - применение полученных знаний в области программирования на алгоритмическом языке к реальным задачам. Подготовка к участию в олимпиадах и конкурсах ...
Сборник тестов «Структуры данных в языке Turbo Pascal» к разделу «Алгоритмизация и программирование» курса информатика и ИКТ в профильной классах.
Цель использования разработкиПроведение входного, текущих и итоговых контрольных работ в форме тестов по темам:массивы;строковый тип данных;записи;файлы,а также для подготовки к ЕГЭ....
Тематическое планирование по курсу «Основы алгоритмизации и программирования» в среде программирования VBA
Тематическое планирование по курсу «Основы алгоритмизации и программирования» в среде программирования VBA Основы алгоритмизации и программирование1,2(4 час)Повт. Программное об...
10 класс. Алгоритмизация и программирование (1 ч/нед)
Уроки для дистанционного образования для 10-го класса (1 ч/нед). Алгоритмизация и программирование...
Урок по информатике в 10 классе по теме: «Алгоритмизация и программирование циклических структур»
Урок развивающего обучения. На уроке обобщаются знания циклических структур, составляются программы практической направленности. Задания разноуровневые. Ученики работают в группах....
Контрольная работа по теме "Алгоритмизация и программирование" 9 класс
Контрольная работа по теме "Алгоритмизация и программирование" для 9 класса.Представлены 4 варианта заданий, в тестовом формате. В каждом тесте 8 заданий, 5 из них с выбором правильного ответа, 3 - с ...