Добавить материал и получить бесплатное свидетельство о публикации в СМИ
Эл. №ФС77-60625 от 20.01.2015
Инфоурок / Информатика / Конспекты / Линейные алгоритмы (занятие 1 и 2). Примеры составление программ. Работа с файлами (9 класс)

Линейные алгоритмы (занятие 1 и 2). Примеры составление программ. Работа с файлами (9 класс)

Международный конкурс по математике «Поверь в себя»

для учеников 1-11 классов и дошкольников с ЛЮБЫМ уровнем знаний

Задания конкурса по математике «Поверь в себя» разработаны таким образом, чтобы каждый ученик вне зависимости от уровня подготовки смог проявить себя.

К ОПЛАТЕ ЗА ОДНОГО УЧЕНИКА: ВСЕГО 28 РУБ.

Конкурс проходит полностью дистанционно. Это значит, что ребенок сам решает задания, сидя за своим домашним компьютером (по желанию учителя дети могут решать задания и организованно в компьютерном классе).

Подробнее о конкурсе - https://urokimatematiki.ru/


Идёт приём заявок на самые массовые международные олимпиады проекта "Инфоурок"

Для учителей мы подготовили самые привлекательные условия в русскоязычном интернете:

1. Бесплатные наградные документы с указанием данных образовательной Лицензии и Свидeтельства СМИ;
2. Призовой фонд 1.500.000 рублей для самых активных учителей;
3. До 100 рублей за одного ученика остаётся у учителя (при орг.взносе 150 рублей);
4. Бесплатные путёвки в Турцию (на двоих, всё включено) - розыгрыш среди активных учителей;
5. Бесплатная подписка на месяц на видеоуроки от "Инфоурок" - активным учителям;
6. Благодарность учителю будет выслана на адрес руководителя школы.

Подайте заявку на олимпиаду сейчас - https://infourok.ru/konkurs

  • Информатика

Поделитесь материалом с коллегами:

ЗАНЯТИЕ 1 и 2.

  • ОБЩИЙ ВИД ПРОГРАММЫ.

  • ОПИСАНИЕ КОНСТАНТ И ПЕРЕМЕННЫХ .

  • ТИПЫ ДАННЫХ.

  • АРИФМЕТИЧЕСКИЕ ОПЕРАЦИИ.

  • ВСТРОЕННЫЕ МАТЕМАТИЧЕСКИЕ ФУНКЦИИ.

  • ОПЕРАТОР ПРИСВАИВАНИЯ, ОПЕРАТОР ВВОДА И ВЫВОДА ДАННЫХ. ЛИНЕЙНЫЕ АЛГОРИТМЫ. ПРИМЕРЫ РЕШЕНИЯ ЗАДАЧ.

  • ВВОД ДАННЫХ С КЛАВИАТУРЫ И ВЫВОД РЕЗУЛЬТАТОВ НА ЭКРАН

  • ЧТЕНИЕ ДАННЫХ ИЗ ФАЙЛА И ВЫВОД РЕЗУЛЬТАТОВ В ФАЙЛ

  • ПРАКТИЧЕСКАЯ РАБОТА №1.

  • ДОМАШНЯЯ РАБОТА (2 ЛЮБЫЕ ЗАДАЧИ С ФАЙЛАМИ, 2 БЕЗ ФАЙЛОВ)

Структура программы в общем виде


program имя программы;

const {объявление констант}

type {объявление типов}

Var {объявление переменных}

begin

{инструкции программы}


end.

Основные типы данных


К основным типам данных языка TURBO PASCAL относятся:

  • Целые числа(integer и др.)

  • Символы(char)

  • Логический(boolean)

  • Действительные числа(real и др.)

  • Строки (string или string[целое Число])


Целые числа и числа с плавающей точкой могут быть представлены в различных форматах.

Целые числа


Формат

Диапазон значений

Shortint

-128..128

Integer

-32768..32767

Longint

-2 147 483 648..2 147 483 647

Word

0..65535

Byte

0..255


Действительные числа


Формат

Диапазон значений

Количество значащих цифр

Real

2.9e-39..1.7e38

11-12


Строковый тип

  • String - строка символов длиной 256 символов.

  • String[целое число] – строка символов указанной длины.


Описание констант


Const имя константы=значение;


& Например:

Const gi=9.8;

Tort=’Наполеон’;

Sim=’!’;

Sum=0.87;

Описание переменных


Var имя переменной: тип;


Например:

Var a,b,d: real;

C:Boolean;

E:integer;

K:12..780;{интервальный тип}

O:char;

Z:’a’..’z’;{интервальный тип}


Какого типа будут переменные a,b,c,d?

Опишите данные переменные.

А:=12.36;

B:=12;

C:=b*2;

D:=’Игнат’;



Арифметические операции


Арифметические операции

1. div, mod



2. *, /


3. +,-


операции, вычисляющие результат деления нацело первого аргумента на второй и остаток от целочисленного деления соответственно


умножение и деление


операции сложение и вычитание



Определите значение целочисленных переменных после выполнения фрагмента программы:


Пример1:


S:=215;

B:=S mod 2; {остаток от деления нацело 215 на 2 равно 1, т.е. B:=1;}

C:=S div 2; {результат деления 215 нацело на 2 =107, т.е. с:=107;}


 Пример 2.


а:=15;

b:=17;

c:=a+5; { c:=15+5; c:=20}

a:=b mod a; {a:=17 mod 15; остаток от деления нацело 17 на 15, т.е a:=2}

b:=c; { b получает значение с, b:=20}


1) a=1, b=17, c=17 2) a=2, b=20, c=20 3) a=15, b=15, c=20 4) a=15, b=17, c=20


Встроенные математические функции



Обозначение в математике

Обозначение в Pascal

Примеры записи

1. hello_html_m3ec709cd.gif

sqr(x) или SQR(x)

hello_html_b2a2750.gif



Sqr(sqr(a)+10)

2. hello_html_3fa8fd5f.gif , x>=0

sqrt(x)

hello_html_4dc051f4.gif

Sqrt(x-8+6*sqr(b))

3. hello_html_m15bc2be4.gif

Abs(x)

hello_html_b33cd33.gif

Sqrt(abs(a-8))+

Abs(23*b/(x+5))

4. sin x (синус x)

Sin(x)

hello_html_5ef13864.gif

Sin(sqr(x+5))

5. cos x (косинус x)

Cos(x)

hello_html_m44a257ab.gif

Sqr(cos(x+5))

6. tg x (тангенс x)

Sin(x)/cos(x)

hello_html_353c8ff7.gif

(sin(x+5)/cos(x+5) – sqrt(x))/(cos(abs(x))/sin(abs(x))+2*x)

7. ctg x (котангенс x)

Cos(x)/sin(x)



Основные операторы
  1. Оператор присваивания

Имя переменной:=выражение;


Вычисляется значение выражения и его значение присваивается имени переменной (результат заноситься в память).

Выражение может быть любого типа; переменная должна быть описана в разделе var и она должна быть того же типа, что и значение выражения.

2)Оператор вывода данных

Оператор вывода данных предназначен для вывода результатов работы программы на экран.


А) write(b1,b2,b3,…………bn); -вывод данных в одну строку, курсор остается в той же самой строке


Б) writeln(b1,b2,b3,…..bn); - вывод данных в одну строку, курсор переходит в другую строку


В) Writeln; - вывод пустой строки



В качестве b1,b2,….bn могут быть константы, выражения, имена переменных любого типа.


При выводе используются следующие форматы:

А)

b:m:n

-при выводе вещественного результата,

b- имя переменной, m- число позиций на экране для вывода всего числа, n: число позиций отведенных под дробную часть числа. Чаще всего вместо m,n записывают целые числа.

Б)

b:m


- при выводе данных любого типа(Boolean,integer,char, string и др., кроме вещественного)


Например:

Writeln(‘Скоро каникулы’:30);

Writeln(15:2, 20*13-78/2.56:10:2);

A:=45*b+34;

B:=a/12;

Writeln(‘a=’:5,a:10,’B=’:5,B:15:3);

  1. Оператор ввода данных c клавиатуры


Read(a1,a2,a3,…………an);

Readln(a1,a2,a3,…..an);


В качестве a1,a2,a3…an должны использоваться только имена переменных, для которых будут вводиться с клавиатуры значения через пробел.


Например:

Writeln(‘ введите свое имя’);

Readln(b);

Writeln(‘Введите число, месяц и год своего рождения’);

Readln(c,d,e);


 Опишите переменные b, c,d,e.


Решение задач линейной структуры

В линейной алгоритмической конструкции операторы выполняются последовательно друг за другом. Используются три оператора: оператор ввода, присваивания и оператор вывода информации.



Задача №1. Даны a,b,c. Вычислить d,e по формулам:

hello_html_1b1e0391.gif

hello_html_619ce23e.gif




Program L_3;


Var a,b,c,d,e:real;



Описание всех переменных действительного типа

Begin

Начало

Write(‘Введите значения для исходных данных a,b,c’);

Вывод сообщения

Readln(a,b,c);

Ввод числовых данных для a,b,c

D:=sqr(a+b)/(c-3*a*b)+sqrt(abs(2*a+b));

Вычисление d по формуле (оператор присваивания)

Writeln(‘d=’ , d:0:2);

Вывод пояснения и результата d

e:=sqrt(25)-3*b+(c-3*d)/4;

Вычисление e по формуле (оператор присваивания)

Writeln(‘e=’ , e:0:2);

Вывод пояснения и результата e

Readln;

Ожидается нажатие клавиши enter

End.

Конец


Задача №2. Написать программу вычисления стоимости некоторого количества (по весу) яблок.

Ниже приведен рекомендуемый вид экрана во время выполнения программы (данные, введенные пользователем, выделены полужирным шрифтом).


Вычисление стоимости покупки.

Введите исходные данные:

Цена 1 кг яблок (руб.) -> 8.5

Вес яблок (кг) -> 2.3


Стоимость покупки: 19.55 руб.



Program l_2;

var c,v:real; {цена и вес яблок}

st:real; {стоимость покупки}

begin

writeln('Вычисление стоимости покупки.');

writeln('введите исходные данные:');

write('Цена 1 кг яблок (руб.)->');

readln(c);

write('Вес яблок (кг)->');

readln(v);

st:=v*c;

writeln;

writeln('Cтоимость покупки:',st:6:2,' руб');

readln; {ожидается нажатие enter}

end.


Задача № 3. Написать программу вычисления стоимости поездки на автомобиле на дачу (туда и обратно). Исходными данными являются: расстояние до дачи (км); количество бензина, которое потребует автомобиль на 100 км пробега; цена одного литра бензина. Ниже приведен рекомендуемый вид экрана во время выполнения программы (данные, введенные пользователем, выделены полужирным шрифтом).

Вычисление стоимости поездки на дачу и обратно.

Расстояние до дачи (км) -> 67

Расход бензина (литров на 100 км пробега) -> 8.5

Цена литра бензина (руб.) -> 6.5


Program l_3;

var ras,kol,cena:real; {расстояние, количество бензина, цена 1 литра}

st:real; {стоимость поездки}

begin

writeln('Вычисление стоимости поездки на дачу и обратно');

writeln('Расстояние до дачи (км)->');

readln(ras);

write('Расход бензина (литров на 100 км пробега)->');

readln(kol);

write('Цена 1 литра бензина (руб)->');

readln(cena);

st:=ras/100*kol*cena;

writeln;

writeln('Поездка на дачу и обратно обойдется в:',st:6:2,' руб.');

readln;

end.


Задача № 4. Составить алгоритм (программу) для вычисления двух значений Y4 и Y20, используя пять операций умножения для заданного значения X.


program l_4;

var y,y2,y4,y8,y16,y20:real;

begin

write('введите y-> ');

readln(y);

y2:=y*y; {Y^2}

y4:=y2*y2; {Y^4}

writeln(y:0:2,' в 4 степени=',y4:4:2);

y8:=y4*y4; {Y^8}

y16:=y8*y8; {Y^16}

y20:=y4*y16; {Y^20}

writeln(y:0:2,' в 20 степени=',y20:4:2);

readln;

end.


Результат вычисления

Введите y -> 2

2.00 в 4 степени=16.00

2.00 в 20 степени=1048576.00


Задача № 5. Даны с=A*B и d=a* b2, при этом A и B неизвестны. Составить один алгоритм (программу) для вычисления двух величин z= a3 * b3 и p=a3 * b6 так, чтобы в алгоритме (программе) было использовано четыре операции умножения.

program l_2;

var c,d,c2,z,d2,p:integer;

begin

write('vvedite c,d->');

readln(c,d);

c2:=c*c; {a^2,b^2}

z:=c2*c; {a^3,b^3}

writeln('z=',z:4);

d2:=d*d; {a^2,b^4}

p:=d2*d; {a^3,b^6}

writeln('p=',p:4);

readln;

end.

Результат выполнения программы

Введите с, d -> 2 4

Z= 8

P= 64


Задача № 6. Найти площадь равнобочной трапеции с основанием a и b и углом при большем основанием .

Математическое решение

b


h



Полилиния 4Прямая соединительная линия 5




Полилиния 3

.




а




Высота h=(a-b)/2*tg(), так как в Паскале нет функции tg(), заменяем ее на sin()/cos().

Получаем h=(a-b)/2* sin()/cos().

Площадь трапеции S=(a+b)/2*h.

Программа

program l_3;

var a,b,h,alfa,s:real;

begin

write('введите большее основание a->');

readln(a);

write(' введите меньшее основание b->');

readln(b);

write(' введите угол при большем основании в радианах->');

readln(alfa);

h:=(a-b)/2*sin(alfa)/cos(alfa); {вычисление высоты}

s:=(a+b)/2*h; {вычисление площади}

writeln('площадь трапеции =',s:0:2);

readln;

end.


Результат выполнения программы

введите большее основание a-> 4

введите меньшее основание b->2

введите угол при большем основании в радианах->0.785

площадь трапеции =3.00

Задача №7

hello_html_m12afa733.png

Ввод данных с клавиатуры и вывод результатов на экран

  1. Создаем для каждой новой задачи отдельную папку (например, Расчет значений)

  2. Войти в данную папку и текст программы сохраняем в данной папке под именем noname.pas (имя файла можно поменять, но расширение оставить pas, например zadacha1.pas)

Программа ня языке Паскаль (в папке Расчет значений сохраняем файл noname.pas)

Результат работы программы

(ввод и вывод результатов

Program z1;

Var e,f,g,h:real; {описание переменных– что дано}

A,b,c:real; {описание переменных – что надо посчитать }

Begin

Write(‘введите e,f,g,h ---’);

Readln(e,f,g,h);

A:=sqrt(abs(sqr(e-3/f)*(e-3/f))+g);

Writeln(‘a=’,a:0:2);

B:=sin(e)+sqr(cos(h));

C:=(33*g)/(e*f-3);

Writeln(‘b=’,b:0:2,’ c=’,c:0:2);

Readln;

End.

введите e,f,g,h ---3 4.5 6 -4

а=7.69

b=-1.82 c=23.75


Чтения данных из файла input.txt и вывод результатов файл в файл output.txt

  1. Создаем для каждой новой задачи отдельную папку (например, Задача 1 работа с файлами )

  2. В этой папке надо создать 3 файла noname.pas, input.txt и output.txt

  3. В файле noname.pas – пишем текст программы (не забываем повторно сохранять при любом изменении)

  4. В файле input.txt – записываем числа через пробел программы (не забываем повторно сохранять при любом изменении)

  5. В файле output.txt – будут появляться результаты вычислений (при использовании новых данных и при каждом новым запуском программы – обновить)



Noname.pas

Input.txt

Output.txt

Program z1;

Var e,f,g,h:real; {описание пер-ых – что дано}

A,b,c:real; {описание переменных – что надо посчитать }

t1,t2:text

{описание 2-х файловых переменных}

Begin

Assign(t1,’input.txt’);

{установить связь файловой переменной t1 c файлом для чтения input.txt}

Reset(t1);

{файл t1 открыт для чтения}

Assign(t2,’output.txt’);

{установить связь файловой переменной t2 c файлом для вывода output.txt}

Rewrite(t2);

{файл t2 открыт для вывода}

Readln(t1,e,f,g,h); {чтения исходных данных из файла}

A:=sqrt(abs(sqr(e-3/f)*(e-3/f))+g);

Writeln(t2,‘a=’,a:0:2); {вывод результата в файл}

B:=sin(e)+sqr(cos(h));

C:=(33*g)/(e*f-3);

Writeln(t2,‘b=’,b:0:2,’ c=’,c:0:2); {вывод результатов в файл}

Close(t1);

{закрытие файла для чтения}

Close(t2);

{закрытие файла для вывода}

End.

3 4.5 6 -4


a=7.69

b=-1.82 c=23.75


ПРАКТИЧЕКАЯ РАБОТА №1. ЛИНЕЙНЫЕ АЛГОРИТМЫ

1 вариант

1 задача. Решить используя работу с файлами.

hello_html_mbde6361.png

2 задача. Решить без использования работы с файлами.

Известна стоимость 1 кг конфет, печенья и яблок. Найти стоимость всей покупки, если купили x кг конфет, у кг печенья и z кг яблок.

3 задача.

Даны стороны прямоугольника. Найти его периметр и длину диагонали.

4 задача.

Два автомобиля едут навстречу друг другу с постоянными скоростями и км/час. Определить, через какое время автомобили встретятся, если расстояние между ними было S км.

2 вариант

1 задача. Решить используя работу с файлами.

hello_html_mbde6361.png

2 задача. Решить без использования работы с файлами.

Возраст Тани — X лет, а возраст Мити — Y лет. Найти их средний возраст, а также определить, на сколько отличается возраст каждого ребенка от среднего значения (не забыть про модуль (абсолютное значение).

3 задача.

Даны длины сторон прямоугольного параллелепипеда. Найти его объем и площадь боковой поверхности.

4 задача.

Известна стоимость монитора, системного блока, клавиатуры и мыши. Сколько будут стоить 3 компьютера из этих элементов? N компьютеров?


Домашнее задание

  1. Даны основания и высота равнобедренной трапеции. Найти площадь трапеции (формулу найти).

  2. Известно значение температуры по шкале Цельсия. Найти соответствующее значение температуры по шкале:

а) Фаренгейта;

б) Кельвина.

Для пересчета по шкале Фаренгейта необходимо исходное значение температуры умножить на 1,8 и к результату прибавить 32, а по шкале Кельвина абсолютное значение нуля соответствует 273,15 градуса по шкале Цельсия.

3) Два автомобиля едут друг за другом с постоянными скоростями V1 и V2 км/час ( V1 V2 ). Определить, какое расстояние будет между ними через 30 минут после того, как первый автомобиль опередил второй на S км.

4) Известны координаты на плоскости двух точек x1,y1 и x2,y2. Составить программу вычисления расстояния между ними (формулу найти или вывести самостоятельно).


10


Самые низкие цены на курсы профессиональной переподготовки и повышения квалификации!

Предлагаем учителям воспользоваться 50% скидкой при обучении по программам профессиональной переподготовки.

После окончания обучения выдаётся диплом о профессиональной переподготовке установленного образца (признаётся при прохождении аттестации по всей России).

Обучение проходит заочно прямо на сайте проекта "Инфоурок".

Начало обучения ближайших групп: 18 января и 25 января. Оплата возможна в беспроцентную рассрочку (20% в начале обучения и 80% в конце обучения)!

Подайте заявку на интересующий Вас курс сейчас: https://infourok.ru/kursy



Автор
Дата добавления 06.09.2015
Раздел Информатика
Подраздел Конспекты
Просмотров610
Номер материала ДA-030158
Получить свидетельство о публикации

УЖЕ ЧЕРЕЗ 10 МИНУТ ВЫ МОЖЕТЕ ПОЛУЧИТЬ ДИПЛОМ

от проекта "Инфоурок" с указанием данных образовательной лицензии, что важно при прохождении аттестации.

Если Вы учитель или воспитатель, то можете прямо сейчас получить документ, подтверждающий Ваши профессиональные компетенции. Выдаваемые дипломы и сертификаты помогут Вам наполнить собственное портфолио и успешно пройти аттестацию.

Список всех тестов можно посмотреть тут - https://infourok.ru/tests


Включите уведомления прямо сейчас и мы сразу сообщим Вам о важных новостях. Не волнуйтесь, мы будем отправлять только самое главное.
Специальное предложение
Вверх